package luogu;

import java.math.BigInteger;
import java.util.Scanner;

public class P1045 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.close();
        //Math.ceil  向上取整
        int len = (int) Math.ceil(n * Math.log10(2));
        System.out.println(len);
        // 只计算后500位
        BigInteger mod = BigInteger.TEN.pow(500);
        BigInteger last500 = BigInteger.TWO.pow(n).subtract(BigInteger.ONE).mod(mod);

        String digits = last500.toString();
        String padded = "0".repeat(500 - digits.length()) + digits;

        for (int i = 0; i < 500; i += 50) {
            System.out.println(padded.substring(i, i + 50));
        }
    }
}
//386
//        00000000000000000000000000000000000000000000000000
//        00000000000000000000000000000000000000000000000000
//        00000000000000104079321946643990819252403273640855
//        38615262247266704805319112350403608059673360298012
//        23944173232418484242161395428100779138356624832346
//        49081399066056773207629241295093892203457731833496
//        61583550472959420547689811211693677147548478866962
//        50138443826029173234888531116082853841658502825560
//        46662248318909188018470682222031405210266984354887
//        32958028878050869736186900714720710555703168729087

//386
//        00000000000000000000000000000000000000000000000000
//        00000000000000000000000000000000000000000000000000
//        00000000000000104079321946643990819252403273640855
//        38615262247266704805319112350403608059673360298012
//        23944173232418484242161395428100779138356624832346
//        49081399066056773207629241295093892203457731833496
//        61583550472959420547689811211693677147548478866962
//        50138443826029173234888531116082853841658502825560
//        46662248318909188018470682222031405210266984354887
//        32958028878050869736186900714720710555703168729088
